package com.tvunetworks.center.device.service;

import com.tvunetworks.center.common.model.param.matrix.AddUserDeviceParam;
import com.tvunetworks.center.common.model.param.matrix.UpdateMatrixNameParam;
import com.tvunetworks.center.common.model.vo.matrix.UserPostionFlag;
import com.tvunetworks.center.device.model.MyDevice;
import com.tvunetworks.center.gs.model.Device;

import java.util.List;
/**
 * @program:
 * @description:
 * @author HenryChen
 * @create: 7/26/2019 4:02 PM
 **/
public interface MyDeviceService {

    /**
     *
     * @param peerId peerId
     * @return MyDevice
     */
    MyDevice getDeviceByPeerId(String peerId);

    /**
     *
     * @param name name
     * @return String
     */
    String getNewDeviceName(String name);

    /**
     *
     * @param param param
     */
    void addDevice(Device param);

    /**
     *
     * @param param param
     */
    void updateDevice(UpdateMatrixNameParam param);

    /**
     *
     * @param peerId peerId
     */
    void deleteDevice(String peerId);

    /**
     *
     * @param peerId peerId
     */
    void deleteDeviceWithSource(String peerId);

    /**
     *
     * @param peerId  peerId
     * @return List
     */
    List<UserPostionFlag> listUserPostionFlag(String peerId);

    /**
     *
     * @param param param
     */
    void addUserDevice(AddUserDeviceParam param);

    /**
     *  checkReceiverUDP
     */
    void checkReceiverUDP();

}
